<?php
/* @var $this SiteController */

$this->pageTitle=Yii::app()->name . 'Nhập Môn học từ file Excel';
$this->breadcrumbs=array(
	'Nhập Chuong trình đào tạo từ file Excel',
);
$this->menu=array(
	array('label'=>'Quản lý học phần', 'url'=>array('monhoc/admin')),
	array('label'=>'Quản lý chương trình đào tạo', 'url'=>array('admin')),
	array('label'=>'Quản lý thông tin sinh viên', 'url'=>array('thongtinsv/admin')),
	array('label'=>'Quản lý nhóm lớp', 'url'=>array('nhomlop/admin')),
	array('label'=>'Phát sinh nhóm lớp', 'url'=>array('site/page&view=phatsinh')),
);

$connection=Yii::app()->db;
?>

<h1>Nhập Chương trình đào tạo từ file Excel</h1></br>

<?php
if (!ISSET($_GET['up']))
{
?>
<form method="post" action="index.php?r=chuongtrinh/nhapmonhoc&up=up" name="submit" enctype="multipart/form-data">
	Chọn tệp tin Excel chứa thông tin môn học: 
	<input type="file" name="fileField" id="fileField">
	<input type="submit" name="submit" value="Tải lên">
</form>
<?php
}
else
{
$target_dir = "protected/views/site/pages/uploads/";
$target_file = $target_dir . basename($_FILES["fileField"]["name"]);
//$target_file = $target_dir . 'temp.xlsx';
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

// Kiểm tra định dạng file
if($imageFileType != "xls" && $imageFileType != "xlsx") {
    echo "Hệ thống chỉ chấp nhận file Excel (.xls hoặc . xlsx). Vui lòng chọn file khác.";
	?>
	<form method="post" action="index.php?r=chuongtrinh/nhapmonhoc&up=up" name="submit" enctype="multipart/form-data">
		Chọn tệp tin Excel chứa thông tin môn học: 
		<input type="file" name="fileField" id="fileField">
		<input type="submit" name="submit" value="Tải lên">
	</form>
	<?php
    $uploadOk = 0;
}

if ($uploadOk == 1)
{
	if (move_uploaded_file($_FILES["fileField"]["tmp_name"], $target_file)) {
        //echo "The file ". basename( $_FILES["fileField"]["name"]). " has been uploaded.";
			
			/** Error reporting */
		error_reporting(E_ALL);
		ini_set('display_errors', TRUE);
		ini_set('display_startup_errors', TRUE);
		date_default_timezone_set('Europe/London');

		if (PHP_SAPI == 'cli')
			die('This example should only be run from a Web Browser');

			/** Include PHPExcel */
		require_once '././././protected/extensions/PHPExcel.php';


			// Create new PHPExcel object
		//$objPHPExcel = new PHPExcel();

			// Load file
		$objPHPExcel = PHPExcel_IOFactory::load($target_file);

			// get data
		$donvi=$objPHPExcel->getActiveSheet()->getCell('D2')->getValue();
		$khoa=$objPHPExcel->getActiveSheet()->getCell('G4')->getValue();
		$khoaphutrach=$objPHPExcel->getActiveSheet()->getCell('D3')->getValue();
		$khoilop=$objPHPExcel->getActiveSheet()->getCell('D4')->getValue();
		$he=$objPHPExcel->getActiveSheet()->getCell('D5')->getValue();
		$run_row=9;
		$check=1;
		$tongmon=0;
		$tongchuongtrinh=0;
		//$merg=$objPHPExcel->getActiveSheet()->getMergeCells();
		//echo count($merg);
		//print_r($merg);
		
		//if ($objPHPExcel->getActiveSheet()->getCell('B9')->isInRange($merg))
		//	echo ('hehe');
		
		/*
		
		*/
		$rowgood=9;
		while($check)
		{
			// Nếu ô đầu tiên khác trống thì làm
			if (($objPHPExcel->getActiveSheet()->getCell('B'.$run_row)->getValue()!='')||(($objPHPExcel->getActiveSheet()->getCell('B'.$run_row)->getValue()=='')&&($objPHPExcel->getActiveSheet()->getCell('C'.$run_row)->getValue()!='')))
			{
				if ($objPHPExcel->getActiveSheet()->getCell('B'.$run_row)->getValue()!='CỘNG')
				{
					$hocky=$objPHPExcel->getActiveSheet()->getCell('B'.$run_row)->getValue();
					if ($objPHPExcel->getActiveSheet()->getCell('B'.$run_row)->getValue()!='')
					{
						$rowgood=$run_row;
					}
					if ($objPHPExcel->getActiveSheet()->getCell('B'.$run_row)->getValue()=='')
					{
						$hocky=$objPHPExcel->getActiveSheet()->getCell('B'.$rowgood)->getValue();
					}
					$mamonhoc=$objPHPExcel->getActiveSheet()->getCell('C'.$run_row)->getValue();
					//if ($mamonhoc)
					$tenhocphan=$objPHPExcel->getActiveSheet()->getCell('D'.$run_row)->getValue();
					$sotinchi=$objPHPExcel->getActiveSheet()->getCell('E'.$run_row)->getValue();
					$sothuchanh=$objPHPExcel->getActiveSheet()->getCell('G'.$run_row)->getValue();
					$solythuyet=$objPHPExcel->getActiveSheet()->getCell('F'.$run_row)->getValue();
					$khoaday=$objPHPExcel->getActiveSheet()->getCell('I'.$run_row)->getValue();
					$ghichu=$objPHPExcel->getActiveSheet()->getCell('H'.$run_row)->getValue();
					
					// Thêm vào DS môn học
					try
					{
						$tongmon=$tongmon+1;
						$command1=$connection->createCommand("INSERT INTO `qlpc`.`monhoc` (`mamh`, `tenmh`, `soTC`, `sotietLT`, `sotietTH`, `ghichu`) VALUES ('".$mamonhoc."', '".$tenhocphan."', '".$sotinchi."', '".$solythuyet."', '".$sothuchanh."', '');")->query();					
					}
					catch(Exception $ex)
					{
						$tongmon=$tongmon-1;
					}
					// Thêm vào chương trình học
					try
					{
						$tongchuongtrinh=$tongchuongtrinh+1;
						$command2=$connection->createCommand("INSERT INTO `qlpc`.`chuongtrinh` (`stt`, `hocki`, `mamh`, `madonvi`, `madonviday`, `nganh`, `he`, `ghichu`) VALUES (NULL, '".$hocky."', '".$mamonhoc."', '".$khoaphutrach."', '".$khoaday."', '".$khoilop."', '".$he."', '".$ghichu."');")->query();
					}
					catch(Exception $ex)
					{
						$tongchuongtrinh=$tongchuongtrinh-1;
					}
				}
				// đến dòng tiếp theo
				$run_row=$run_row+1;
				$check=1;
			}
			// Nếu ô đầu bằng rỗng thì check=0 <=> Hết file!!!
			else if ($objPHPExcel->getActiveSheet()->getCell('B'.$run_row)->getValue()=='')
			{
				$check=0;
			}
		}
		
		unlink($target_file);

		// thong báo cho người dùng
		echo "<script>
		alert('Đã thêm thành công vào CSDL ".$tongmon." môn học mới và chương trình đào tạo gồm ".$tongchuongtrinh." môn của ".substr($khoilop,0,3)." khóa ".$khoa." khoa ".$donvi."!');
		window.location.href='index.php?r=chuongtrinh/nhapmonhoc';
		</script>";
    } 
	else {
        echo "<script>
		alert('Có lỗi xảy ra trong quá trình đọc tệp tin. Vui lòng kiểm tra lại tệp tin và thử lại!');
		window.location.href='index.php?r=chuongtrinh/nhapmonhoc';
		</script>";
	}

}
}
?>